// Extensão ajax para jProton.Set. Requer extensão dom de jProton.Set.
set.extend({ 

  '@require': {'dom': '0.3'},
  '@extension': {'ajax': '0.3.0a'},

  /**#@+
   * @function
   * @memberOf jProton.Set
   * @extends ajax
   */

  /**
   * Realiza requisição ajax e carrega o conteúdo nos elementos selecionados.
   *    
   * @param {String}   url       URL a ser requisitada.
   * @param {Data}     data      Dados a serem enviados.
   * @param {Function} callback  Função de retorno.
   * @name load
   */
  load: function(url, data, callback) {
    var d = data || null, fn = callback || null;

    if ((typeof data == 'function') && (typeof callback == 'undefined')) {
      d = null;
      fn = data;
    }

    ajax.request({url: url, data: d, onSuccess: fn,
      elements: this.e, 
      onUpdate: function(r,o){
        $(o.elements).html(r);
      }
    });

    return this;
  }

  /**#@-*/
});
